package com.hl.qzzpbackend.model.dto.companyInfo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.List;

/**
 * 添加公司信息请求类
 *
 * @author helong
 */
@Data
@ApiModel(value = "添加公司信息请求类")
public class CompanyInfoAddRequest implements Serializable {

    private static final long serialVersionUID = 1442999011396233155L;

    /**
     * 用户id
     */
    @NotNull(message = "用户id不能为空")
    @Min(value = 1, message = "用户id不能小于1")
    @ApiModelProperty(value = "用户id")
    private Long userId;

    /**
     * 行业领域id
     */
    @NotBlank(message = "行业领域id不能为空")
    @Min(value = 1, message = "行业领域id不能小于1")
    @ApiModelProperty(value = "行业领域id")
    private Long industryTypeId;

    /**
     * 公司名称
     */
    @NotBlank(message = "公司名称不能为空")
    @ApiModelProperty(value = "公司名称")
    private String name;

    /**
     * 公司logo url
     */
    @NotBlank(message = "公司logo url 不能为空")
    @ApiModelProperty(value = "公司logo url")
    private String logo;

    /**
     * 公司简介
     */
    @NotBlank(message = "公司简介不能为空")
    @ApiModelProperty(value = "公司简介")
    private String description;

    /**
     * 公司规模
     */
    @NotNull(message = "公司规模不能为空")
    @ApiModelProperty(value = "公司规模")
    private Integer companySize;

    /**
     * 公司类型
     */
    @NotNull(message = "公司类型不能为空")
    @ApiModelProperty(value = "公司类型不能为空")
    private Integer companyType;

    /**
     * 公司地址
     */
    @NotBlank(message = "公司地址不能为空")
    @ApiModelProperty(value = "公司地址")
    private String address;

    /**
     * 融资阶段
     */
    @NotNull(message = "融资阶段不能为空")
    @ApiModelProperty(value = "融资阶段")
    private Integer fundingStage;

    /**
     * 福利待遇
     */
    @Size(min = 1, message = "福利待遇不能为空")
    @ApiModelProperty(value = "福利待遇")
    private List<String> benefits;

    /**
     * 工作时间（如上午09:00-下午05:30)
     */
    @NotBlank(message = "工作时间不能为空")
    @ApiModelProperty(value = "工作时间")
    private String workingHours;

    /**
     * 工作天数
     */
    @NotNull(message = "工作天数不能为空")
    @ApiModelProperty(value = "工作天数")
    private Integer workDays;

    /**
     * 加班情况
     */
    @NotNull(message = "加班情况不能为空")
    @ApiModelProperty(value = "加班情况")
    private Integer overtime;

}